Interpreter Exploitation
نویسنده
چکیده
As remote exploits further dwindle and perimeter defenses become the standard, remote client-side attacks are becoming the standard vector for attackers. Modern operating systems have quelled the explosion of client-side vulnerabilities using mitigation techniques such as data execution prevention (DEP) and address space layout randomization (ASLR). This work illustrates two novel techniques to bypass these mitigations. The two techniques leverage the attack surface exposed by the script interpreters commonly accessible within the browser. The first technique, pointer inference, is used to find the memory address of a string of shellcode within the Adobe Flash Player's ActionScript interpreter despite ASLR. The second technique, JIT spraying, is used to write shellcode to executable memory, bypassing DEP protections, by leveraging predictable behaviors of the ActionScript JIT compiler. Previous attacks are examined and future research directions are discussed.
منابع مشابه
Automatic Exploitation of Input Parallelism
Parallelism may reside in the input of a program rather than the program itself. A script interpreter, for example, is hard to parallelize because its dynamic behavior is unpredictable until an input script is given. Once the interpreter is combined with the script, the resulting program becomes predictable, and even parallelizable if the input script contains parallelism. Despite recent progre...
متن کاملTwo Case Studies for Jazzyk BSM
Recently, we introduced Behavioural State Machines (BSM ), a novel programming framework for development of cognitive agents with Jazzyk, its associated programming language and interpreter. The Jazzyk BSM framework draws a strict distinction between knowledge representation and behavioural aspects of an agent program. Jazzyk BSM thus enables synergistic exploitation of heterogeneous knowledge ...
متن کاملParallelism in Abductive Logic Programming
Logic Programming has been recently extended to include abduction as an inference mechanism leading to the development of Abductive Logic Programming (ALP). In this work we study the introduction of parallelism in the operational behaviour of an abductive logic program. In particular, we examine the exploitation of various forms of parallelism (OR-parallelism, independent as well as dependent A...
متن کاملWorkflows on Top of a Macro Data Flow Interpreter Exploiting Aspects
We describe how aspect oriented programming techniques can be exploited to support the development of workflow-based grid applications. In particular, we use aspects to adapt simple Java workflow code to be executed on top of muskel, our experimental, macro data flow based skeleton programming environment. Aspects are used to extract “on-the-fly” macro data flow graphs from plain Java code wher...
متن کاملInterpreter prototypes from language definition style specifications by GREG MICHAELSON
Language definition techniques may be applied to the specification of a wide range of problems. Language implementation techniques may then be used to construct interpreter prototypes. The use of an interpreter-interpreter language for the implementation of interpreter prototypes circumvents some of the disadvantages of contemporary programming languages and software tools.
متن کامل